home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / GRAPHICS / 200PLASM.ZIP / PLASMA.ASM < prev    next >
Encoding:
Assembly Source File  |  1995-06-26  |  2.7 KB  |  98 lines

  1. ideal
  2. p386n
  3. ─────────────────────────────────────────────────────────────────────────────
  4. assume cs:main_code,ds:main_code
  5. ─────────────────────────────────────────────────────────────────────────────
  6. segment main_code para 'code'
  7. org 100h
  8.  
  9. main:
  10.                 mov     bp,offset sintab+255
  11.                 mov     si,offset sintab
  12.                 mov     di,offset sintab+128
  13.                 mov     cl,64
  14. @@genloop:
  15.                 lodsb
  16.                 mov     [bp],al
  17.                 neg     al
  18.                 stosb
  19.                 mov     [bp-128],al
  20.                 dec     bp
  21.                 loop    @@genloop
  22.  
  23.                 mov     al,13h
  24.                 int     10h
  25.  
  26.                 push    0a000h
  27.                 pop     es
  28.  
  29.                 mov     dx,3c8h
  30.                 xor     al,al
  31.                 out     dx,al
  32.                 inc     dx              ; cl =0
  33. @@palette1:
  34.                 mov     al,cl
  35.                 out     dx,al
  36.                 out     dx,al
  37.                 out     dx,al
  38.                 inc     cl
  39.                 cmp     cl,64
  40.                 jnz     @@palette1
  41.                 dec     cl
  42. @@palette2:
  43.                 mov     al,cl
  44.                 out     dx,al
  45.                 out     dx,al
  46.                 out     dx,al
  47.                 loop    @@palette2
  48.                 out     dx,al
  49.                 out     dx,al
  50.                 out     dx,al
  51. @@mainloop:
  52.                 mov     dx,3dah
  53.                 in      al,dx
  54.                 test    al,8
  55.                 jz      $-3
  56.                 push    bp
  57.                 xor     di,di
  58.                 movzx   si,[sintab+bp]
  59.                 mov     cl,199
  60. @@vertloop:
  61.                 mov     bl,[sintab+bp]
  62.                 mov     dl,160
  63. @@horloop:
  64.                 mov     al,[sintab+bx]
  65.                 add     al,[sintab+si]
  66.                 shr     al,1
  67.                 stosw
  68.                 inc     bl
  69.  
  70.                 dec     dl
  71.                 jnz     @@horloop
  72.  
  73.                 inc     si
  74.                 and     si,255
  75.                 inc     bp
  76.                 and     bp,255
  77.                 loop    @@vertloop
  78.                 pop     bp
  79.  
  80.                 inc     bp
  81.                 and     bp,255
  82.  
  83.                 in      al,60h
  84.                 cmp     al,1
  85.                 jnz     @@mainloop
  86. @@theend:
  87.                 mov     al,3
  88.                 int     10h
  89. ;                jmp     cs:0
  90.                 int     20h
  91. ─────────────────────────────────────────────────────────────────────────────
  92.   label         sintab byte
  93.   include       "sintab.db"
  94.   db 192 dup(?)
  95. ─────────────────────────────────────────────────────────────────────────────
  96. ends main_code
  97. end main
  98.